﻿// 1368. 最长前缀.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>


/*

https://www.acwing.com/problem/content/1370/

一些生物的结构组成可以由大写字母序列来表示。

生物学家们喜欢将长序列拆分成较短序列来进行研究。

给定一个由若干短序列构成的集合 P，如果从中选取部分元素（可使用多次）能够拼接成一个序列 S，那么就说 S 由 P 组成。

S 可以只包含 P 中的部分元素，例如，序列 ABABACABAAB 就可以由集合 {A,AB,BA,CA,BBC} 组成。

S 的前 K 个字符称为 S 的长度为 K 的前缀。

现在给定一个短序列集合 P 以及一个大写字母序列 S，请你求出可以由集合 P 组成的 S 的最长前缀的长度是多少。

输入格式
首先，将输入短序列集合 P，集合中的元素将在一行或多行中给出，每个短序列之间用空格隔开。

集合的所有元素都输入完毕后，会在独立的一行输入一个 . 表明集合已经输入完毕。

保证集合中的元素互不相同。

然后输入大写字母序列 S，序列可能占一行或多行，每行最多包含 76 个字母，换行符不是序列的一部分。

输出格式
输出一个整数，表示可组成的最长前缀的长度。

数据范围
P 中的元素数量不会超过 200，每个元素的长度不会超过 10。
S 的长度不会超过 2×105。

输入样例：
A AB BA CA BBC
.
ABABACABAABC
输出样例：
11
*/
int main()
{
    std::cout << "Hello World!\n";
}

 